﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MoreDots.SpellNames.Classes;


namespace MoreDots.SpellNames.Jobs
{
    public class PaladinSpells : GladiatorSpells
    {
        public static Spell SwordOath
        {
            get
            {
                return new Spell() { Name = "Sword Oath", Level = 30 };
            }
        }
        public static Spell Cover
        {
            get
            {
                return new Spell() { Name = "Cover", Level = 35 };
            }
        }
        public static Spell ShieldOath
        {
            get
            {
                return new Spell() { Name = "Shield Oath", Level = 40 };
            }
        }
        public static Spell SpiritsWithin
        {
            get
            {
                return new Spell() { Name = "Spirits Within", Level = 45 };
            }
        }
        public static Spell HallowedGround
        {
            get
            {
                return new Spell() { Name = "Hallowed Ground", Level = 50 };
            }
        }

        public class CrossClass
        {
            public static Spell Foresight
            {
                get
                {
                    return MarauderSpells.Foresight;
                }
            }
            public static Spell SkullSunder
            {
                get
                {
                    return MarauderSpells.SkullSunder;
                }
            }
            public static Spell Fracture
            {
                get
                {
                    return MarauderSpells.Fracture;
                }
            }
            public static Spell Bloodbath
            {
                get
                {
                    return MarauderSpells.Bloodbath;
                }
            }
            public static Spell MercyStroke
            {
                get
                {
                    return MarauderSpells.MercyStroke;
                }
            }
            public static Spell Cure
            {
                get
                {
                    return ConjurerSpells.Cure;
                }
            }
            public static Spell Protect
            {
                get
                {
                    return ConjurerSpells.Protect;
                }
            }
            public static Spell Raise
            {
                get
                {
                    return ConjurerSpells.Raise;
                }
            }
            public static Spell Stoneskin
            {
                get
                {
                    return ConjurerSpells.Stoneskin;
                }
            }
        }

        public static class PvP
        {
            public static Spell Testudo
            {
                get
                {
                    return new Spell() { Name = "Testudo", Level = 30 };
                }
            }
            public static Spell FullSwing
            {
                get
                {
                    return new Spell() { Name = "Full Swing", Level = 30 };
                }
            }
            public static Spell GlorySlash
            {
                get
                {
                    return new Spell() { Name = "Glory Slash", Level = 30 };
                }
            }
            public static Spell Enliven
            {
                get
                {
                    return new Spell() { Name = "Enliven", Level = 30 };
                }
            }
            public static Spell Purify
            {
                get
                {
                    return new Spell() { Name = "Purify", Level = 30 };
                }
            }
        }
    }
}
